% 求矩形的外切等边三角形
% 矩形的长和高
length = 50;  % 矩形长度
height_rect = 48;  % 矩形高度

% 根据给定的公式计算
z = height_rect / tan(pi/3);  % tan(60度)
i = 1/2 * length;
x = 2 * (z + i);  % 边长
h = (sqrt(3) / 2) * x;  % 高度

% 三角形的顶点坐标
triangle_x = [0, x/2, x];
triangle_y = [0, h, 0];

% 矩形的顶点坐标，底边与三角形底边重合并居中
rectangle_x = [-length/2, length/2, length/2, -length/2];
rectangle_y = [0, 0, height_rect, height_rect];  % 矩形底边与三角形的底边重合

% 绘图
figure;
hold on;

% 绘制三角形
fill(triangle_x, triangle_y, 'b', 'FaceAlpha', 0.5, 'EdgeColor', 'k');

% 绘制矩形
fill(rectangle_x + x/2, rectangle_y, 'r', 'FaceAlpha', 0.5, 'EdgeColor', 'k');

% 设置坐标轴
axis equal;
xlim([-10, x + 10]);
ylim([-10, h + 10]);
xlabel('X');
ylabel('Y');
title('等边三角形与矩形');
legend('等边三角形', '矩形');

hold off;

% 输出边长和高度
fprintf('三角形的边长: %.2f\n', x);
fprintf('三角形的高度: %.2f\n', h);
